iT邦幫忙

2021 iThome 鐵人賽

DAY 2
1
Software Development

猴子都寫得出來的 RISC-V CPU Emulator系列 第 2

SystemC: 哈囉,暖個身吧

  • 分享至 

  • xImage
  •  

環境建立

先從這裡下載 SystemC 2.3.3 到目標資料夾下(或者從這裡下載其他版本)
記得準備好 compiler(這邊使用gcc) 和 make,並在同個位置執行以下指令進行安裝
(安裝路徑可以任意設定,這邊用 /usr/local/systemc-2.3.3)

tar -xzf systemc-2.3.3.tar.gz
cd systemc-2.3.3
mkdir objdir && cd objdir
../configure --prefix=/usr/local/systemc-2.3.3
make
make install

Hello, World!

不多說,你懂的,就是在哈囉
sc_main 先當作 main 來理解就好
sc_module 則是 SystemC 的基本模組

//main.cpp
#include "systemc.h"

class HELLO : public sc_module{ 
public: 
        HELLO(sc_module_name name) : sc_module(name){ 
                cout<<"Hello, SystemC!"<<endl; 
        }
};

int sc_main(int argc,char** argv){
        HELLO hello("hello");
        return 0;
}

編譯時指定 link library 以及執行時指定 library 的位置就不多說了
以下是準備好的懶人包 Makefile
注意編譯的時候選的 c++ standard 版本要和 SystemC 一樣(這邊用C++14)

#Makefile
LIB_DIR=-L/usr/systemc/lib-linux64
INC_DIR=-I/usr/systemc/include
LIB=-lsystemc

export SYSTEMC_HOME=/usr/systemc
export LD_LIBRARY_PATH=$(SYSTEMC_HOME)/lib-linux64

SRC=main
APP=hello

all:
        g++ -o $(APP) $(addsuffix .cpp, $(SRC)) $(LIB_DIR) $(INC_DIR) $(LIB) -std=c++14

clean:
        rm -rf $(APP)

run:
        ./$(APP)
                  

再來就可以執行囉

$ make run
./hello

        SystemC 2.3.3-Accellera --- Apr 15 2021 18:09:56
        Copyright (c) 1996-2018 by all Contributors,
        ALL RIGHTS RESERVED
Hello,SystemC!

上一篇
開始!
下一篇
SystemC: 開始囉,再等等!
系列文
猴子都寫得出來的 RISC-V CPU Emulator31
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言